Cover | TOC | Chap | Prev Chap | Prev Fig | Next Fig | Next Chap |
|
Figure 31.6
A donut node type. |
|
Click on the image to view the VRML scene. |
#VRML V2.0 utf8 # The VRML 2.0 Sourcebook # Copyright (c) 1997 # Andrea L. Ames, David R. Nadeau, and John L. Moreland PROTO Donut [ field SFFloat crossSectionRadius 1.0 field SFFloat spineRadius 2.0 field SFInt32 crossSectionResolution 16 field SFInt32 spineResolution 16 eventIn SFFloat set_crossSectionRadius eventIn SFFloat set_spineRadius eventOut MFVec2f crossSection_changed eventOut MFVec3f spine_changed ] { DEF Ext Extrusion { spine [ ] crossSection [ ] creaseAngle 1.57 beginCap FALSE endCap FALSE } DEF DonutMaker Script { url "donutmkr.js" field SFFloat crossSectionRadius IS crossSectionRadius field SFFloat spineRadius IS spineRadius field SFInt32 crossSectionResolution IS crossSectionResolution field SFInt32 spineResolution IS spineResolution eventIn SFFloat set_crossSectionRadius IS set_crossSectionRadius eventIn SFFloat set_spineRadius IS set_spineRadius eventOut MFVec2f crossSection_changed IS crossSection_changed eventOut MFVec3f spine_changed IS spine_changed } ROUTE DonutMaker.crossSection_changed TO Ext.set_crossSection ROUTE DonutMaker.spine_changed TO Ext.set_spine }